// cloudfunctions/uploadFile/index.js

const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV // 使用当前环境
});

exports.main = async (event, context) => {
  const { fileName, fileBuffer } = event; // 接收外部传入的文件名和文件内容

  if (!fileName || !fileBuffer) {
    return {
      success: false,
      message: '缺少文件名或文件内容'
    };
  }

  try {
    // 将文件上传到云存储
    const result = await cloud.uploadFile({
      cloudPath: `uploads/${fileName}`, // 云存储路径
      fileContent: Buffer.from(fileBuffer, 'base64') // 将 base64 编码的文件内容转换为 Buffer
    });

    return {
      success: true,
      fileID: result.fileID, // 返回上传后的文件 ID
      message: '文件上传成功'
    };
  } catch (err) {
    console.error('上传失败', err);
    return {
      success: false,
      message: '文件上传失败',
      error: err.message
    };
  }
};